package restaurant;

import java.util.Iterator;
import java.util.Vector;

/**
 * 
 * @author AJ75050 Julien Drolet-Noel
 *
 * @version 1.0
 * 
 * Menu d'un restaurant
 */
public class Menu {

	// Produits du menu
	private Vector <Produit> produitResto;
	
	// CONSTRUCTEUR
	public Menu(){
		
		produitResto = new Vector <Produit> ();
	}
	
	// CONSTRUCTEUR PAR COPIE
	public Menu(Menu menu){
		produitResto = new Vector <Produit> (menu.produitResto);
	}
	
	// Ajouter un produit
	public void ajouterProduit(String nom, String description, double prix) throws Exception {
		
		Iterator <Produit >ite = produitResto.iterator();
		boolean existe = false;
		
		while(ite.hasNext() && !existe){
			
			if (ite.next().getNom() == nom) existe = true;
			
		}
		
		if (existe == true) throw new Exception(" ********** Produit " + nom + " deja existant ********** ");
		
		produitResto.add(new Produit(nom, description, prix));
	}
	
	// Supprimer un produit
	public void supprimerProduit (Produit prod){
		
		produitResto.remove(prod);
	}
	
	// Supprimer un produit
	public void supprimerProduit (int index) throws Exception{
		
		try{
			produitResto.remove(index);
		}
		
		catch(Exception e){
			
			throw new Exception(" ********** Aucun produit supprime, index invalide ("+index+") ********** ");
		}
	}
	
	// Retourner un produit
	public Produit getProduit(int index) throws Exception{
	
		Produit prod = null;
		
		try{
			prod = produitResto.get(index);
		}
		
		catch(Exception e){
		
			throw new Exception(" ********** Aucun produit trouve, index invalide ("+index+") ********** ");
		}
		
		return prod;
	}
	
	// Retourne le vecteur de produits
	public Vector <Produit> getListe(){
		return produitResto;
	}
}
